package com.example.uidemo_01.Activity;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;

import com.example.uidemo_01.R;

public class BMIActivity extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bmi);
        //1.定义对象并绑定控件
        final EditText edHeight = findViewById(R.id.edhight);
        final EditText edWeight = findViewById(R.id.edweight);
        //计算按钮
        Button btnJS = findViewById(R.id.btnJs);
        //复选框
        final RadioButton rdWho = findViewById(R.id.rdwho);
        final RadioButton rdAsian = findViewById(R.id.rdasian);
        final RadioButton rdChina = findViewById(R.id.rdchina);
        //结论
        final TextView txtMsg = findViewById(R.id.txtMsg);

        //设置监听按钮
        btnJS.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //获取身高和体重，并转换为数字类型
                Double height = Double.valueOf(edHeight.getText().toString());
                Double weight = Double.valueOf(edWeight.getText().toString());
                //计算BMI体制指数 BMI = 体重➗*(身高*身高)
                Double bmi = weight*10000/(height*height);

                /*
                    BMI在18.5-24之间是正常的。
                    BMI低于18.5考虑为体重过轻；
                    24-27之间为超重；
                    超过27以上为肥胖。
                */

                //WHO标准
                if(rdWho.isChecked()){
                    if(bmi >= 30){
                        txtMsg.setText("BMI="+bmi.toString()+",您有点肥胖,需要减肥！");
                    }else if(bmi >= 25){
                        txtMsg.setText("BMI="+bmi.toString()+",您有点超重，需要减肥！");
                    }else if(bmi >18.5 && bmi<= 24.9){
                        txtMsg.setText("BMI="+bmi.toString()+",体重正常！");
                    }else if(bmi < 18.5){
                        txtMsg.setText("BMI="+bmi.toString()+",您的体重过轻，按时吃饭哦！");
                    }
                    //亚洲标准
                }else if(rdAsian.isChecked()){
                    if(bmi >= 25){
                        txtMsg.setText("BMI="+bmi.toString()+",您有点肥胖,需要减肥！");
                    }else if(bmi >= 23){
                        txtMsg.setText("BMI="+bmi.toString()+",您有点超重，需要减肥！");
                    }else if(bmi >18.5 && bmi<= 22.9){
                        txtMsg.setText("BMI="+bmi.toString()+",体重正常！");
                    }else if(bmi < 18.5){
                        txtMsg.setText("BMI="+bmi.toString()+",您的体重过轻！");
                    }
                    //中国标准
                }else if(rdChina.isChecked()){
                    if(bmi >= 27){
                        txtMsg.setText("BMI="+bmi.toString()+",您有点肥胖,需要减肥！");
                    }else if(bmi >= 24){
                        txtMsg.setText("BMI="+bmi.toString()+",您有点超重，需要减肥！");
                    }else if(bmi >18.5 && bmi<= 23.9){
                        txtMsg.setText("BMI="+bmi.toString()+",体重正常！");
                    }else if(bmi < 18.5){
                        txtMsg.setText("BMI="+bmi.toString()+",您的体重过轻，按时吃饭哦！");
                    }
                }else {
                    txtMsg.setText("请选择BMI标准");
                }
            }
        });


    }
}
